﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;

namespace Common.DataTypes
{
    public abstract class Item
    {
        #region FIELDS
        public string Keywords { get; set; }
        public string Asin { get; set; }
        public string DetailPageUrl{ get; set; }
        public string SalesRank { get; set; }
        public string SmallImage{ get; set; }
        public string MediumImage { get; set; }
        public string LargeImage { get; set; }
        public string Manufacturer { get; set; }
        public string Title { get; set; }
        public ListPriceData ListPrice { get; set; }
        public ItemOfferSummaryData OfferSummary { get; set; }
        public string PackageDimensions{ get; set; }
        public string Label{ get; set; }
        public string Studio{ get; set; }
        public string Binding { get; set; }
        public string Ean { get; set; }
        public string Condition { get; set; }
        public int Category { get; set; }
        #endregion
    }

    public class ItemOfferSummaryData
    {
        public ListPriceData LowestNewPrice { get; set; }
        public ListPriceData LowestUsedPrice { get; set; }
        public ListPriceData LowestCollectiblePrice { get; set; }
        public ListPriceData LowestRefurbishedPrice { get; set; }
        public int TotalNew { get; set; }
        public int TotalUsed { get; set; }
        public int TotalCollectible { get; set; }
        public int TotalRefurbished { get; set; }
    }

    public class ListPriceData{
      
        public int Amount  { get; set; }
        public string FormattedPrice  { get; set; }
        public string CurrencyCode  { get; set; }

        public ListPriceData()
        {
        }

        public ListPriceData(int amount, string formatted_price, string currency_code) {
            this.Amount = amount;
            this.FormattedPrice = formatted_price;
            this.CurrencyCode = currency_code;
        }
    }
}
